Міністерство освіти і науки, молоді та спорту України
Національний університет «Львівська політехніка»
РОЗРАХУНКОВО-ГРАФІЧНА РОБОТА
з дисципліни
«Об’єктно-орієнтоване програмування, частина 2»
Керівник лабораторних занять:
ст. викладач Кузьо М.М.
Варіант 11
Завдання 1.Згідно вибраного номеру задачі, вказаного нижче, написати програму реалізації перевантажених функцій, вибравши відповідну їх групу:
a) int func(int* arr, int length1);
double func(double* arr, int length1);
Функція func(....) :
перевіряє чи елементи масиву розташовані по спаданню.
Головна програма повинна містити також тестову перевірку програми виконання поставленої задачі а також ввід значень індексів розмірності двовимірного масиву, режим багаторазового вводу вхідної послідовності, вводу всіх можливих комбінації вхідної послідовності, за якої забезпечується як виконання, так і не виконання відповідної умови задачі.
Результати виконання кожної тестової перевірки програми повинні відображатись на екрані монітора, а також записані в текстовий файл, тобто програма повинна забезпечувати:
- запис даних у текстовий файл ;
- читання даних з текстового файлу.
Запис даних у файл здійснюється у вигляді структурованої таблиці, з використанням засобів форматування. Послідуючі записи додаються у файл.Не менше двох записів у файл повинно бути здійснено.
Слід передбачати незалежний багаторазовий вибір користувачем режиму роботи: запис чи читання даних при роботі з текстовим файлом.
Структура даних, що записується у файл наступна:
перше поле – поле запису прізвища;
друге поле – поле запису імені;
третє поле – поле запису номера групи та номера завдання;
четверте поле – поле запису результату тестової перевірки, що включає задану вхідну послідовність даних та вихідну, за необхідності, або, відповідний до умови задачі, результат обчислення.
Слід також передбачити обробку виключних ситуацій
Порядок виконання:
1.Реалізовано програму main.cpp
#include<iostream>
#include<fstream>
#include<conio.h>
using namespace std;
int func(int**arr,int lenght1,int lenght2)
{
int b;
for(int k=0;k+1<lenght1;k++)
for(int j=0;j+1<lenght2;j++)
{
if(arr[k][j]<=arr[k+1][j+1]){
b=1;
}
else{
b=0;
}
}
return b;
}
double func(double**arr,int lenght1,int lenght2)
{
double t;
for(int k=0;k+1<lenght1;k++)
for(int j=0;j+1<lenght2;j++)
{
if(arr[k][j]<=arr[k+1][j+1]){
t=1;
}
else{
t=0;
}
}
return t;
}
void main()
{
int choice, i, j=0;
int lenght1,lenght2,change;
int** arr_l;
double** arr_f;
char *name;
char *prizvuwche;
char *grupa;
char *res;
char *res1;
name= new char[100];
prizvuwche=new char[100];
grupa=new char[100];
res=new char[100];
res1=new char[100];
while(j==0)
{
cout<<"\nIf you want to add the information to the File\t\tPRESS \"1\"\n\nIf you want to show the information at the screen\tPRESS \"2\"\n\nIf you want to out \t\t\t\t\tPRESS \"0\"\n\n";
change=getch();
if(change=='1'){
ofstream fout("File.txt",ios::app);
cout<<"Enter your name, please!\n\n";
cin>>name;
cout<<"Enter your prizvuwche, please!\n\n";
cin>>prizvuwche;
cout<<"Enter your grupu, please!\n\n";
cin>>grupa;
cout<<"Enter size of array, please!\t";
cin>>lenght1>>lenght2;
arr_l=new int* [lenght1];
for (int i=0;i<lenght1;i++)
arr_l[i]=new int [lenght2];
arr_f=new double* [lenght1];
for (int i=0;i<lenght1;i++)
arr_f[i]=new double [lenght2];
cout<<"\nEnter int array, please!\n";
for(i=0; i<lenght1; i++)
for(int j=0;j<lenght2;j++)
{
cout<<"arr_l["<<i<<"]["<<j<<"] ";
cin>>arr_l[i][j];
}
for(i=0; i<lenght1; i++){
for(int j=0;j<lenght2;j++){
cout<<arr_l[i][j]<<" ";
}
cout<<endl;
}
int q = func(arr_l,lenght1,lenght2);
if(q == 1){
cout<<"Danuy masuv ne spadae";
res=" -----> Masuv Ne Spadae";
}
else{
cout<<"Masuv Spadae";
res=" ----> Masuv spadae";
}
cout<<"\nEnter double array, please!\n";
for(i=0; i<le...